#include <iostream>
#include <string>
#include <cstring>
using namespace std;
// 思路
// 枚举s的子串
// 如果不是则l下标左移动
// 不断更新答案即len

// 以上思路没有用到前缀和，预处理的思想

// 只有LQ两种字母
// 分别用1, -1来表示，如果一个区间的前缀和为0,那么这就是一个平衡的字符串
// 如果是平衡的，就在上一次的长度与这次的长度取最大值，更新答案
// 那么先把字符串的子串组合预处理为由1,-1的前缀和组成的数组
// 然后求出前缀和存入数组prefix中，遍历prefix数组
// 如果是0的就更新答案

const int N = 1011;
int prefix[N];
char s[N];
int main()
{
    cin >> s + 1;
    int n = strlen(s + 1);
    for (int i = 1; i <= n; i++)
    {
        prefix[i] = prefix[i - 1] + (s[i] == 'L' ? 1 : -1);
    }
    int ans = 0;
    for (int l = 1; l <= n; l++)
    {
        for (int r = l; r <= n; r++)
        {
            if (prefix[r] - prefix[l - 1] == 0)
                ans = max(ans, r - l + 1);
        }
    }
    cout << ans << endl;
    return 0;
}